package com.example.lotterysystem.service.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;


/**
 * 活动状态枚举类，定义了活动的不同状态及相关的元信息。
 * 提供根据名称查找枚举值的方法以及获取状态码和描述信息的功能。
 */
@AllArgsConstructor
@Getter
public enum ActivityStatusEnum {

    RUNNING(1, "活动进行中"),

    COMPLETED(2, "活动已完成");


    private final Integer code;

    private final String message;

    /**
     * 根据名称获取枚举值
     * @param name 枚举名称
     * @return 匹配的枚举对象，未找到则返回 null
     */
    public static ActivityStatusEnum forName(String name) {
        for (ActivityStatusEnum activityStatusEnum : ActivityStatusEnum.values()) {
            if (activityStatusEnum.name().equalsIgnoreCase(name)) {
                return activityStatusEnum;
            }
        }
        return null;
    }

    /**
     * 获取状态码
     * @return 状态码
     */
    public Integer getCode() {
        return code;
    }

    /**
     * 获取描述信息
     * @return 描述信息
     */
    public String getMessage() {
        return message;
    }
}
